[dependencies.jemallocator]
version = "0.5.0"
optional = true

[dependencies.mimalloc]
version = "0.1.29"
optional = true
features = ["local_dynamic_tls", "override", "secure"]

[dependencies.snmalloc-rs]
version = "0.2.28"
optional = true

[build-dependencies]
embed-resource = "1.8.0"

[features]
default = ["build-mode-standalone"]

global-allocator-jemalloc = ["jemallocator"]
global-allocator-mimalloc = ["mimalloc"]
global-allocator-snmalloc = ["snmalloc-rs"]

allocator-jemalloc = ["pyembed/allocator-jemalloc"]
allocator-mimalloc = ["pyembed/allocator-mimalloc"]
allocator-snmalloc = ["pyembed/allocator-snmalloc"]

# Build this crate in isolation, without using PyOxidizer.
build-mode-standalone = []

# Build this crate by executing a `pyoxidizer` executable to build
# required artifacts.
build-mode-pyoxidizer-exe = []

# Build this crate by reusing artifacts generated by `pyoxidizer` out-of-band.
# In this mode, the PYOXIDIZER_ARTIFACT_DIR environment variable can refer
# to the directory containing build artifacts produced by `pyoxidizer`. If not
# set, OUT_DIR will be used.
build-mode-prebuilt-artifacts = []

# This empty workspace table forces Cargo to treat this manifest as its
# own workspace, even if a parent directory defines a workspace. If you want
# this Rust project to exist as part of a larger workspace, simply delete this.
[workspace]
